ROM نوعی از حافظه است که داده ها را به طور دائم یا غیر دائم نگهداری می کند .به آن فقط خواندنی می گویند زیرا یک بار بر روی آن می نویسند و بارها آنرا می خوانند و اگر دوباره قابل نوشتن باشد بسیار دشوار است ...

ROM به حافظه غیرفرار نیز معروف است، زیرا هر داده ای که در آن ذخیره شود با قطع برق سیستم پک نمی شود. توجه داشته باشید که RAM و ROM تناقضی با یکدیگر ندارند. در حقیقت تکنولوژی ROM زیر مجموعه ای از سیستم RAM می باشد، به طور خلاصه قسمتی از فضای حافظه RAM که به یک یا چند چیپ اشاره می کنند. به طور مثال هنگامی که کامپیوتر را روشن می کنیم پردازنده به طور خودکار به آدرس FFFF0h پرش می کند. در این آدرس دستوراتی است که به پردازنده می گویند چه کاری انجام دهد.

این محل 16 بایتی درست در انتهای اولین مگابایت RAM و همچنین در پایان حافظه ROM قرار گرفته است. معمولا سیستم ROM از آدرس F0000h شروع می شود که 64 کیلو بایت قبل از انتهای اولین مگابایت می باشد، و معمولا چون اندازه ROM 64 کیلو بایت است، 64 کیلو بایت آخر اولین مگابایت را اشغال می کند و در آدرس FFF0h دستورات راه اندازی سیستم قرار دارد. افراد بسیاری تعجب می کنند که یک PC با اجرای دستورات 16 بایت از حافظه ROM می تواند راه اندازی شود، اما این طراحی کاملا حساب شده است.

 

این طراحی بدین گونه است که در 16 بایت آخر ROM یک دستور JMP به اول ROM است و کنترل برنامه را به ابتدای ROM می برد، پس به این طریق می توانیم اندازه ROM را به هر قدر که بخواهیم افزایش دهیم. کارت های وفق دهنده ای که در طول راه اندازی سیستم مورد نیاز هستند، دارای یک ROM بر روی بردشان می باشند که از این کارت ها می توان کارت کنترلر IDE توسعه یافته، برخی از کارتهای شبکه (برای راه اندازی توسط Server ) را نام برد.

 

ROM هایی که بر روی کارت های وفق دهنده هستند توسط برنامه POST در طول راه اندازی سیستم اسکن و خوانده می شوند. ROM مادربرد قسمت خاصی از RAM ( از آدرس C00000h DFFFFh ) را رزرو می کند و سپس دو بایت از آدرس 55 AAh را می خواند که در آن آدرس شروع ROM قرار دارد. سومین بایت اندازه ROM را در واحد 512 بایت ( که Paragraph نامیده می شود ) نشان می دهد و چهارمین بایت شروع برنامه راه انداز می باشد. یک بایت نیز به منظور تست کردن توسط ROM مادربرد استفاده می شود.

 

● ROM Shadowing :

چیپ های RAM طبیعتا در مقابل چیپ های DRAM ها کند می باشند زیرا زمان دستیابی به ROM 150 نانوثانیه است، اما زمان دستیابی DRAM ها 50 نانوثانیه می باشد. به همین دلیل در بسیاری از سیستم ها ROM ها به صورت پنهان ( Shadowing ) هستند، بدین معنی که ROM ها در ابتدای راه اندازی سیستم در چیپ های DRAM کپی می شوند که این باعث دسترسی و اجرای سریعتر عملیات می شود.

 

زیر برنامه ها و روال هایی که به روال های پنهانی ( Shoadowing Procedure ) معروفند، محتویات ROM را در RAM کپی می کنند و آدرس آن را به عنوان ROM معرفی می کنند و ROM واقعی را غیرفعال می کنند، که این باعث می شود که به نظر برسد که سیستم با سرعت 60 نانوثانیه کار می کند.

 

استفاده از این روش هنگامی مفید است که از یک سیستم عامل 16 بیتی مانند ِ DOS و یا WIN3.1 لستفاده می کنیم و اگر از سیستم عامل 32 بیتی مانند WIN 98,WIN95,WIN NT استفاده می کنید، این روش تقریبا بی حاصل است، زیرا این سیستم عامل ها هنگامی که بر روی سیستم اجرا می شوند از کد 16 بیتی ROM استفاده نمی کنند.

اما در عوض از گرداننده های 32 بیتی که در طول راه اندازی سیستم عامل در حافظه RAM بارگذاری می کنند، استفاده می نمایند.

 

● PROM :

این چیپ ها که از نوع ROM می باشند در ابتدای ساخت خالی هستند و باید با داده هایی که می خواهید، برنامه ریزی کنید. این نوع حافظه ها در اواخر سال 1970 به وسیله شرکت Tenas Instruments ساخته شد و در اندازه های مختلف 1 کیلو بایت تا 2 مگابایت و بیشتر هستند که شماره شناسایی آنها 27 nnnn می باشد که عدد 27 شماره شناسایی چیپهای PROM می باشد و nnnn اندازه این چیپ بر حسب بایت می باشد.

 

اگر چه می گوییم این حافظه ها در ابتدای ساخت خالی هستند اما به طور تکنیکی دارای مقدار 1 می باشند. بنابراین یک PROM خالی می تواند برنامه ریزی شده باشد و ما می توانیم بر روی آن بنویسیم. برای نوشتن به دستگاه مخصوص که ROM Programer یا سوزاننده ( Burner ) نام دارد، نیاز داریم.

 

برخی اوقات شنیده اید که به چیپ های ROM نیز Burning ( یعنی سوزان ) می گویند، زیرا هر بیت باینری یک فیوز است که سالم بودن آن نشانگر یک و در غیراین صورت صفر می باشد.

 

بهتر است که بدانید اکثر چیپ ها با 5 ولت جریان فعال می شوند و هنگامی که ما برنامه ای را بر روی چیپ های PROM می نویسیم یا اصطلاحا Program می نمائیم، جریانی بیشتر از 5 ولت که معمولا 12 ولت است اعمال می کنیم که این باعث سوختن فیوزهای آدرس هایی می شود که ما می خواهیم. باید توجه داشته باشید که ما می توانیم یک را صفر تبدیل کنیم ولی برعکس آن ممکن نیست. به این چیپ ها OTP ) One Time Programmable ) نیز می گویند.

 

● EPROM:

نیز یک نوع عمومی از PROM می باشد که قابلیت پاک شدن و دوباره برنامه ریزی را داراست. بر روی این چیپ ها یک بلور کوارتز است که مستقیما بر روی die قرار دارد. این چیپها با شماره 27 xxxx شناسایی می شوند و به وسیله برنامه یا به طور فیزیکی می توان آنها را پاک کرد.

 

هدف از قرار دادن بلور کوارتز این است که اشعه فرا بنفش به die برسد، زیرا چیپ EPROM با تابش اشعه فرا بنفش پاک می شود. اشعه فرا بنفش باعث ایجاد یک واکنش شیمیایی می شود که فیوزها را پشت سر هم ذوب می کند، بنابراین تمام صفرها به یک تبدیل می شوند و چیپ به حالت اولیه خود باز می گردد. برای این کار باید اشعه فرا بنفش در طول موج 2537 انگستروم و با شدت یکنواخت 12000 uv/cm2 و در مدت 5 تا 15 دقیقه باشد.

یک دستگاه پاک کننده EPROM ، یک تولید کننده امواج فرا بنفش است که دارای یک فضای بسته دارای یک کشو می باشد و در بالای کشو تولید کننده امواج فرا بنفش قرار گرفته و چیپ ها درون کشو می باشند.

 

● EEPROM/Flash ROM :

 

یک نوع دیگر از چیپهای ROM ، چیپ های E EPROM که Flash ROM نیز نامیده می شوند و از خصوصیات مهم آنها این است که قابل پاک شدن و برنامه ریزی توسط مدارهایی هستند که بر روی آنها نصب می شوند و وسایل و ابزار خاصی نیاز ندارند.

 

این چیپ ها به وسیله شماره های 29 xxxx و 28 xxxx شناخته می شوند. هم اکنون بیشتر در مادربرد کامپیوترها از چیپ های EEPROM استفاده می شود. این بدان معنی است که BIOS مادربرد خود را می توانید به وسیله دریافت نسخه به روز درآمده از شرکت سازنده، به روز رسانی نمائید.